/**
 * 在 TypeScript 中，使用 static 关键字来标识一个成员为 静态成员：
 * 
 * 不同于实例成员，在类的内部静态成员无法通过 this 来访问，
 * 需要通过 Foo.staticHandler 这种形式进行访问。
 * 
 * 静态成员不会被实例继承，它始终只属于当前定义的这个类（以及其子类)
 * 而原型对象上的实例成员则会沿着原型链进行传递，也就是能够被继承.
*/
class Foo {
    static staticHandler() { }
    public instanceHandler() { }
}

//比如可以用类 + 静态成员来收敛变量与 utils 方法
class Utils {
    public static identifier = "hanxuming";

    public static makeUHappy() {
        Utils.studyWithU();
        // ...
    }

    public static studyWithU() { }
}

Utils.makeUHappy();

//export {}：解决“无法重新声明块范围变量”错误提示问题
export { }